home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 9
/
Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO
/
039a
/
netpq203.zip
/
F1.C
next >
Wrap
Text File
|
1993-03-02
|
2KB
|
115 lines
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include "nos.h"
#include "noslib.h"
#include "netpq.h"
#include "proto.h"
extern struct serverdef *server;
extern struct localqueuedef *localqueue;
extern int maxlocalqueuecount, localqueuecount;
extern int numberoflogins;
extern int numberofprinterstrings;
extern char *printerstring;
int f1keypressed ()
{
// handles response for f1 key (control ports)
int f1menuitems = 6;
char *f1menu [] =
{
"Enable",
"Disable now",
"Disable at EOJ",
"Pause now",
"Enable Single",
"Restart"
};
int f1xsize = strlen (f1menu [2]);
int action, servernum, printer;
int i;
int ybase;
ybase = wherey () + 1;
if (ybase + f1menuitems > 24)
ybase = 24 - f1menuitems;
do
{
if ( (action = menu (f1menu, f1menuitems, f1xsize, firstxpos, ybase)) != -1)
{
do
{
if ( (servernum = displayservernames (ybase)) != -1)
{
if (checkqueueprivileges (servernum) != -1)
{
do
{
printer = menu (&printerstring, numberofprinterstrings, 5, thirdxpos, ybase);
if (printer > -1)
{
message ("UPDATING, PLEASE WAIT ...", false);
if (NOSControlQueue (&printer, action, server [servernum] .servername, -1) == -1)
{
NOSperror ("NOSControlQueue");
exit (1);
}
return 0;
}
}while (printer != -1);
}
}
}while (servernum != -1);
}
}while (action != -1);
return -1;
}
int displayservernames (int ybase)
{
// displays a menu of all servernames
int i, selection;
char *servernames [5];
i = 0;
while (i < numberoflogins)
servernames [i] = server [i++] .servername;
if (ybase + numberoflogins > 24)
ybase = 24 - numberoflogins;
selection = menu (servernames, numberoflogins, 17, secondxpos, ybase);
return selection;
}
int checkqueueprivileges (int servernum)
{
// checks to see if the user has queue privileges on the server
if (server [servernum] .queue_privilege == false)
{
message ("YOU DO NOT HAVE QUEUE PRIVILEGES\a", true);
return -1;
}
return 0;
}